package com.zmn.plat.common.dto.price;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 描述: 项目价格查询实体
 *
 * @author guoqiao
 * @since 2021/9/7 11:25
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Valid
public class ItemPriceQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    @NotNull(message = "productId不能为空")
    @ApiModelProperty("产品id")
    private Integer productId;

//    @NotNull(message = "showType不能为空")
    @ApiModelProperty("产品类型：1后端产品 2前端产品.3计价器产品")
    private Integer showType;

    @NotNull(message = "bizType不能为空")
    @ApiModelProperty("业务类型")
    private Integer bizType;

    @ApiModelProperty("城市ID")
    private Integer cityId;

    @NotNull(message = "channelId不能为空")
    @ApiModelProperty("渠道id")
    private Integer channelId;

    @ApiModelProperty("价格表id")
    private Integer tariffId;

    @ApiModelProperty("品牌ID")
    private Integer brandId;

    @ApiModelProperty("公司id")
    private Integer companyId;

    @ApiModelProperty("难度系数Id")
    private Integer difficultId;

    /**
     * 服务时间：yyyy-mm-dd hh:mm:ss，非必填 传递该参数表示需要根据传入的时间对服务项目进行过滤,不传不过滤
     */
    private Date serviceTime;

    /**
     * 特殊调整项产品分类ID结合
     * 已在数据可以中初始化的数据，
     * -5	费用服务项
     * -4	远程费
     * -1	特殊调整项
     */
    private List<Integer> idList;

}
